package QianFeng10.EchoDemo;

import java.io.*;
import java.net.Socket;

/**
 * 实现服务器端客户端程序
 * 客户端:
 * public class Socket extends Object
 *      此类实现客户端套接字(也可以就叫“套接字”)。套接字是两台机器间通信的端点。
 * Socket(String host, int port)
 *      创建一一个流套接字并将其连接到指定主机上的指定端口号。
 * InputStream getInputStream()
 *      返回此套接字的输入流。
 * OutputStream getOutputStream()
 *      返回此套接字的输出流。
 * void setSoTimeout(int timeout)
 *      启用/禁用带有指定超时值的 so_ _TIMEOUT，以毫秒为单位。
 **/
public class EchoClientDemo {
    public static void main(String[] args) {
        try {
            //创建一个Socket对象，指定要连接的服务器
            Socket socket = new Socket("localhost",6666);
            //获取socket的输入输出流
            PrintStream printStream = new PrintStream(new BufferedOutputStream(socket.getOutputStream()));
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            printStream.println("hello,my name is bin");
            printStream.flush();
            //读取服务器端返回的数据
            String info = bufferedReader.readLine();
            System.out.println(info);
            printStream.close();
            bufferedReader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
